EN FR
EN FR


Section: Software

Utilities

Java4unix

Participant : Luc Hogie [correspondant] .

More than 5,000 lines, developed in Java.

Java4unix proposes a development and distribution framework which simplifies the use of Java for UNIX software programming/distribution. Until now, Java could hardly be used for the development UNIX applications because invoking Java applications from the UNIX shell must be done through an explicit call to the Java virtual machine and writing simple things in Java often requires long coding. Java4unix aims at filling those two gaps by providing a UNIX installer for java applications, turning them to standard UNIX application and a framework that UNIX programmers may use to manipulate files/text, etc.

Java4unix includes a module which enables the reporting and automatic releasing of Eclipse Java projects. This module was formely separated from Java4unix and was referred to as EPR.

See also the web page http://www-sop.inria.fr/members/Luc.Hogie/java4unix/ .

Jalinopt

Participants : Luc Hogie [correspondant] , Grégory Morel.

Developed in Java.

Many mathematical and engineering problems can be expressed as linear programs, and doing so facilitates their resolution. Indeed it is generally more convenient to transform a domain-specific problem into a linear-optimizable one (that can be solved by any solver) rather than writing a complex domain-specific algorithm. In the case of graph theory, problems like flows, minimum vertex cover, maximum stable can be conveniently represented via linear programs.

Jalinopt is a Java toolkit for building and solving linear programs. It consists of a straightforward object-oriented model for linear programs, as well as a bridge to most common solvers, including GLPK and CPLEX.

Altought Jalinopt is inspired by Mascopt and JavaILP, it provides a significantly different model and an utterly different approach to connecting to the solver. In particular this approach, based in inter-process piping, offers better portability, and the possibility to connect (via SSH) to solvers on remote computers.

See also the web page http://www-sop.inria.fr/members/Luc.Hogie/jalinopt/ .

JavaFarm

Participant : Luc Hogie [correspondant] .

More than 1,500 lines, developed in Java.

JavaFarm is a middleware enabling the distribution of Java applications across farms of servers. Its workflow basically enables an application to locally aggregate code and data into an object, called job that will migrate to another computer, where it will be computed. When a job completes, its result is transferred back to the caller. Among other features, JavaFarm supports futures (asynchronous job executions), thereby enabling parallelization of the distributed code. The design objectives of JavaFarm are to make distribution and parallelism as transparent and easy as possible.

See also the web page http://www-sop.inria.fr/members/Luc.Hogie/javafarm/ .

Mascsim

Participants : Luc Hogie [correspondant] , Aurélien Lancin, Issam Tahiri.

Around 12,000 lines, developed in Java.

Mascsim is a distributed discrete event simulator whose main target is to be easy to use.

Unlike most discrete-event simulators, the researcher who is using Mascsim is required to provide only the bare minimum material needed for the simulation: a model for the system, a set of events describing what is going on in the system, as well as a set of metrics of interest.

The simulation process is then entirely automatized.

See also the web page http://www-sop.inria.fr/mascotte/software/mascsim/ .

P2PVSim

Participant : Remigiusz Modrzejewski [correspondant] .

Around 8,000 lines, developed in Python.

P2PVSim is a simple discrete-event simulator created for analyzing theoretical properties of peer-to-peer live video streaming algorithms. Implemented in Python it was designed with clarity and extensibility in mind from the beginning. It is capable of simulating overlays of a few thousands of peers. Multiple control protocols have been implemented. At the same time, a lot of work was put into the performance and scalability aspects of the software. Currently it is meant for simulating overlays of a few thousand peers running multiple control protocols that have been implemented.